#pragma once
#include "const.h"
#include "MysqlDao.h"
#include "singleton.h"

//负责与数据库的交互，属于Model层


class MysqlMgr: public Singleton<MysqlMgr>
{
	friend class Singleton<MysqlMgr>;
public:
	~MysqlMgr();

	int RegUser(const std::string& name, const std::string& email,  const std::string& pwd, const std::string& icon);
	bool CheckEmail(const std::string& name, const std::string & email);
	bool UpdatePwd(const std::string& name, const std::string& email);
	bool CheckPwd(const std::string& email, const std::string& pwd, UserInfo& userInfo);
	bool TestProcedure(const std::string &email, int& uid, std::string & name);

	//可以把检查用户是否存在，检查email是否存在封装成单独的数据库操作，用以提供更多的信息给客户端
private:
	MysqlMgr();
	MysqlDao  _dao;								//数据层，连接至数据库的句柄，是用户要定制的业务
};

